package mylab.usm.api.service;

import mylab.usm.api.model.account.User;
import mylab.usm.api.model.authorization.Role;

import java.util.Set;

public interface RoleService {

    /**
     * 获取用户的所有角色
     *
     * @param user 用户
     * @return 该用户拥有的角色集
     */
    Set<Role> getRolesByUser(User user);


    /**
     * 获取对指定资源拥有指定操作权限的所有角色
     *
     * @param resourceUri 资源
     * @param action      操作
     * @return 角色集
     */
    Set<Role> getRolesByUriAndSAction(String resourceUri, String action);

}
